<?php

declare(strict_types=1);

namespace Dreamcat\Class2Array\Utils;

use DreamCat\Array2Class\Utils\FeatureJudge;

/**
 * 枚举辅助函数
 * @author vijay
 */
class EnumHelper
{
    /**
     * 判断数据是否为枚举对象
     * @param mixed $value
     * @return bool
     */
    public static function isEnumValue(mixed $value): bool
    {
        if (!FeatureJudge::hasEnum()) {
            // @codeCoverageIgnoreStart
            return false;
            // @codeCoverageIgnoreEnd
        }
        if (!is_object($value)) {
            return false;
        }
        return enum_exists(get_class($value));
    }
}
